#include "scene/scenemanager.h"
#include "scene/entity.h"

namespace engine {

	namespace scene {
		
		SceneManager::SceneManager() {
			
		}
		
		SceneManager::~SceneManager() {
			
		}
				
		///	Creates a new entity for the scene, must be attached to a scene node to be
		/// renderered
		shared_ptr<Entity> SceneManager::createEntity(const string& name, const string& mesh) {
			assert(m_Objects.find(name) == m_Objects.end());
			
			shared_ptr<Entity> ent(new Entity(name));
			ent->useMesh(mesh);
			m_Objects[name] = ent;
			
			return ent;
		}
				
		void SceneManager::setAmbientLight(const slVec4& colour) {
			
		}
		
		void SceneManager::setSkyBox(bool enable, const string& materialName) {
		
		}
		
		shared_ptr<SceneNode> SceneManager::getRootSceneNode() {
			return m_RootSceneNode;
		}
	}
}
